//
//  LyBaesTableViewController.swift
//  LySwift微博
//
//  Created by 贠明东 on 15/11/23.
//  Copyright © 2015年 itcCZ. All rights reserved.
//

import UIKit

class LyBaesTableViewController: UITableViewController {

    ///用户是否登录的标志(没有登录)
    var userlogin = false
    
    override func loadView()
    {
        //如果用户已经登录，就正常的加载TableView，否则就创建一个访客视图
        userlogin ? super.loadView() : steupVistorVidew()
    }
    
    ///创建访客视图
   private func steupVistorVidew()
   {
       //设置View(添加背景颜色)(把访客视图添加给控制器view )
        view = vistorView
//        view.backgroundColor = UIColor.blackColor()
    
    //设置代理
    vistorView.delegate = self
    
    print("当前控制器：\(self)")
    // 在这里判断是什么类型的控制器.根据不同的控制器,设置不同的访客视图内容
    // 判断类型 is
    if self is LyHomeViewController
    {
        //调用转轮运动
        vistorView.rotationAnimation()
        
        //监听应用进入和退出后台
        //退出后台的时候调用
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "didEnterBackground", name: UIApplicationDidEnterBackgroundNotification, object: nil)
        //进入前台的时候调用
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive", name: UIApplicationDidBecomeActiveNotification, object: nil)
    }else if self is LyMessageViewController
    {
        //设置消息访客视图内容
        vistorView.setupVistorView("visitordiscover_image_message", message: "登录后，妹纸评论你的微博，发给你的消息，都会在这里收到Love的通知喔~")
    }else if self is  LyDiscoverViewController
    {
     //设置发现访客视图内容
        vistorView.setupVistorView("visitordiscover_image_message", message: "登录后，最萌、最火辣的妹子尽在手中，妈妈不用在担心你寂寞的在寒风中撸管子了")
    }else if self is  LyProfileViewController
    {
        //设置我访客视图内容
        vistorView.setupVistorView("visitordiscover_image_profile", message: "登录后，你的微博、写真、个人资料会显示在这里，展示给妹子看喔~")
      }
    
    //设置导航栏按钮
    //左边(注册)按钮
    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewRegisterClick")
    //右边(登录)按钮
    navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewLoginClick")
    }
    
    deinit{
        //判断、移除通知
        if self is LyHomeViewController
        {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }
    }
    /// 应用进入后台会调用
    func didEnterBackground()
    {
        //暂停核心动画
        vistorView.pauseAnimation()
    }
    
    /// 应用进入前台会调用
    func didBecomeActive()
    {
        //开始核心动画
        vistorView.resumeAnimation()
    }
    
    
    // MARK : - 懒加载
    //访客视图 
    private lazy var vistorView: LyVistorView = LyVistorView()
}

// MARK: - 扩展 CZBaseTableViewController 实现 CZVistorViewDelegate 协议
// extension 和 OC 中的 Category非常类似, 可以将协议的相关方法放到一起, 方便统一管理代码

extension LyBaesTableViewController: LyVistorViewDelegate
{
    // MARK: - 实现代理方法
    func vistorViewLoginClick()
    {
      //创建Oauth授权界面
        let oauthVC = LyOayth_ViewController()
        
        presentViewController(UINavigationController(rootViewController: oauthVC), animated: true, completion: nil)
    }
    
    func vistorViewRegisterClick()
    {
        print("注册按钮被点击")
 
    }
}


